Batch Transfers 批量企业付款

此批量付款接口适用于以下 8 个渠道:支付宝 alipay、银联电子代付 unionpay、微信 App wx、微信 JSAPIwx_pub、微信小程序 wx_lite、通联代付 allinpay、京东代付 jdpay、余额 balance

注:

点击查看该付款接口的注意事项:
  • 微信企业付款区分"企业付款到零钱"和"企业付款到银行卡",使用此功能时请确保在微信处开通相应产品。此外,使用微信服务商模式商户暂不支持企业付款。
  • 支付宝 mapi 接口在调用该批量企业付款接口时,仅需要点击退款确认链接,输入一次商户密码即可完成退款;支付宝 openapi 接口的企业付款接口则不需要输入密码。
  • 支付宝 mapi 批量付款手续费率 0.5%,最低 1 元,最高 25 元。手续费按单笔分别计算,批量对象中的手续费 fee 字段会在批量企业付款成功后更新;支付宝 openapi 接口无手续费,详情参考 帮助中心
  • 批量企业付款状态 status 包含一个特殊的 partially_succeeded 状态,若批量企业付款中存在部分成功,部分失败的情况,批量企业付款对象将处于该状态,对于成功部分的付款也会发送 batch_transfer.succeeded 事件
  • 批量企业付款对象 batch_transferrecipients 字段里的元素中,会有每笔付款对象的 transfer (对应的 transfer 对象 ID) 和 status(对应的 transfer 对象状态)字段。
  • 批量企业付款接口单次最多只能请求 200 笔企业付款订单。
  • 此接口的所有请求强制要求签名,必须生成 RSA 签名(SHA256) 并在请求头中添加 Pingplusplus-Signature 字段,需在管理平台上 配置商户公钥;同时必须在请求头中添加 Pingplusplus-Request-Timestamp 字段,其值为请求接口的 Unix 时间戳。

属性描述
id string由 Ping++ 生成的批量企业付款对象 ID
object string值为 batch_transfer
app string创建批量企业付款使用的 app 对象 id,查看如何获取App ID
amount int批量企业付款总金额。
batch_no string批量企业付款批次号,11 ~ 32 位,允许字母和英文。
channel string付款使用的第三方支付渠道名称。目前支持 wx(微信 App)、wx_pub(微信 JSAPI)、wx_lite(微信小程序)、alipay(支付宝)、unionpay(银联电子代付)、allinpay(通联代付)、jdpay(京东代付)和balance(余额)。
currency string三位 ISO 货币代码,人民币为 cny
created int批量企业付款创建时的 Unix 时间戳。
description string批量企业付款描述。
extra hash额外信息,当前该字段为空。
failure_msg string错误消息的描述。首次请求支付宝 mapi 批量企业付款成功时,该字段包含了确认付款的 URL 链接地址,仅在渠道为支付宝时有值,你需要获取该地址,在浏览器中打开并且输入支付宝商户密码才能完成批量企业付款;支付宝 openapi 产品接口无密,所以首次请求的 URL 中无付款链接;批量银联电子代付的接口不需要输入密码。
fee int批量企业付款手续费。
livemode boolean是否处于 live 模式。
metadata hash参考元数据
recipients array接收者信息。具体参考下表的 recipients 参数说明
status string批量企业付款状态。目前支持 6 种状态,created: 已创建;pending: 处理中;succeeded: 成功;failed: 失败;partially_succeeded: 部分成功;scheduled: 待发送。
time_succeeded int成功的 Unix 时间戳。
type string付款类型,取值范围:b2c(打款给个人用户)和 b2b(打款给企业用户)。当前 wx、wx_pub、wx_lite、balance 仅支持:b2c ;alipay、unionpay、allinpay 和jdpay`支持:b2b、b2c。
recipients 参数说明
参数描述
account string接收者账号。
amount int付款金额。
name string接收者姓名。
description string批量企业付款描述。
transfer string对应的单笔 transfer 对象 ID
status string对应的单笔 transfer 对象状态。
open_bank string1~15位,开户银行名称,unionpay 渠道会用到此字段。
open_bank_code string4位,开户银行编号,unionpay / allinpay 渠道会用到此字段,详情请参考银联电子代付银行编号说明通联代付银行编号说明畅捷代付银行编号说明
account_type string账户类型,支付宝 openapi 渠道会用到此字段。默认值:"ALIPAY_LOGONID"。ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号,以 2088 开头的 16 位纯数字组成;ALIPAY_LOGONID:支付宝登录号,支持邮箱和手机号格式。
fee int单笔 transfer 的渠道手续费。
failure_msg string单笔 transfer 的错误信息。
order_no string单笔 transfer 的订单号,可选字段,如果不传程序就自动生成。
transaction_no string单笔 transfer 的流水号。
business_code string5位业务代码,allinpay 渠道会用到此字段,根据通联业务人员提供,不填使用通联提供默认值 09900。
card_type int银行卡号类型,allinpay 渠道会用到此字段。1位,0:银行卡、1:存折、2:信用卡,不填默认使用银行卡。
sub_bank stringallinpay 渠道会用到此字段,B2B 转账必填,1~80位,开户行详细名称,也叫网点,如:中国建设银行广州东山广场分理处。详情请下载 支付行号
sub_bank_code stringallinpay 渠道会用到此字段,B2B 转账必填,1~12位,支付行号。详情请下载 支付行号
prov stringallinpay 渠道会用到此字段,B2B 转账必填,1~20位,省份,不带 “省” 或 “自治区”,需填写成:广东、广西、内蒙古等。详情请参考 中国邮政区号表 内的「省洲名称」列的内容填写。
city stringallinpay 渠道会用到此字段,B2B 转账必填,1~40位,城市,不带 “市”,需填写成:广州、南宁等。如果是直辖市,则填区,如北京(市)朝阳(区)。详情请参考 中国邮政区号表 内的「地区名称」列的内容填写。

示例对象

{
  "id": "181610101014367590",
  "object": "batch_transfer",
  "app": "app_ribgW1n2SOqcPxn1",
  "amount": 8000,
  "batch_no": "2016101010380007",
  "channel": "alipay",
  "currency": "cny",
  "created": 1476067087,
  "description": "付款说明",
  "extra": {},
  "failure_msg": null,
  "fee": 0,
  "livemode": true,
  "metadata": {},
  "recipients": [
      {
          "account": "account01@alipay.com",
          "amount": 5000,
          "name": "张三",
          "transfer": "tr_jHWfvDnTKG0SiPmbfPbHW1eH",
          "status": "pending"
      },
      {
          "account": "account02@alipay.com",
          "amount": 3000,
          "name": "李四",
          "transfer": "tr_8u1yPK1eHWv9D08OePzDe1CK",
          "status": "pending"
      }
  ],
  "status": "pending",
  "time_succeeded": null,
  "type": "b2c"
}